<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://api.microsofttranslator.com/V2" elementFormDefault="qualified" targetNamespace="http://api.microsofttranslator.com/V2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://api.microsofttranslator.com/V2/soap.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="http://api.microsofttranslator.com/V2/soap.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" />
  <xs:element name="AddTranslation">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="originalText" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="translatedText" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="rating" type="xs:int" />
        <xs:element minOccurs="0" name="contentType" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="category" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="user" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="uri" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTranslationResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="BreakSentences">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="text" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="language" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BreakSentencesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="BreakSentencesResult" nillable="true" type="q1:ArrayOfint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Detect">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="text" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DetectResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="DetectResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DetectArray">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="texts" nillable="true" type="q2:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DetectArrayResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="DetectArrayResult" nillable="true" type="q3:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAppIdToken">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="minRatingRead" type="xs:int" />
        <xs:element minOccurs="0" name="maxRatingWrite" type="xs:int" />
        <xs:element minOccurs="0" name="expireSeconds" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAppIdTokenResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetAppIdTokenResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLanguageNames">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="locale" nillable="true" type="xs:string" />
        <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="languageCodes" nillable="true" type="q4:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLanguageNamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetLanguageNamesResult" nillable="true" type="q5:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLanguagesForSpeak">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLanguagesForSpeakResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetLanguagesForSpeakResult" nillable="true" type="q6:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLanguagesForTranslate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLanguagesForTranslateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetLanguagesForTranslateResult" nillable="true" type="q7:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTranslations">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="text" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="maxTranslations" type="xs:int" />
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="options" nillable="true" type="q8:TranslateOptions" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTranslationsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="GetTranslationsResult" nillable="true" type="q9:GetTranslationsResponse" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Translate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="text" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="contentType" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="category" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TranslateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="TranslateResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTranslationArray">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="translations" nillable="true" type="q10:ArrayOfTranslation" />
        <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="options" nillable="true" type="q11:TranslateOptions" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTranslationArrayResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTranslationsArray">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="texts" nillable="true" type="q12:ArrayOfstring" />
        <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="maxTranslations" type="xs:int" />
        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="options" nillable="true" type="q13:TranslateOptions" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTranslationsArrayResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="GetTranslationsArrayResult" nillable="true" type="q14:ArrayOfGetTranslationsResponse" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Speak">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="text" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="language" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="format" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="options" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SpeakResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="SpeakResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TranslateArray">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string" />
        <xs:element xmlns:q15="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="texts" nillable="true" type="q15:ArrayOfstring" />
        <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
        <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="options" nillable="true" type="q16:TranslateOptions" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TranslateArrayResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/Microsoft.MT.Web.Service.V2" minOccurs="0" name="TranslateArrayResult" nillable="true" type="q17:ArrayOfTranslateArrayResponse" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>